package com.lanhe.identifier.service;

import java.util.List;

import com.lanhe.identifier.domain.LhIdentifierBind;
import com.lanhe.identifier.domain.vo.LhIdentifierBindStatVO;

/**
 * 识别码（绑定）(LhIdentifierBind)表服务接口
 *
 * @author zhanggl
 * @since 2023-09-18 20:07:33
 */
public interface ILhIdentifierBindService{

	/**
	 * 分页查询所有数据
	 *
	 * @param identifierBind 实体
	 * @return 识别码绑定日志集合信息
	 */
	List<LhIdentifierBind> selectIdentifierBindList (LhIdentifierBind identifierBind);

	/**
	 * 根据编号获取详细信息
	 *
	 * @param identifierBindId ID
	 * @return 识别码绑定日志信息
	 */
	LhIdentifierBind selectIdentifierBindById (Long identifierBindId);

	/**
	 * 根据识别码获取详细信息
	 *
	 * @param identifierBind 识别码
	 * @return 结果
	 */
	LhIdentifierBind selectIdentifierBindByIdentifier (String identifierBind);

	/**
	 * 绑定识别码
	 *
	 * @param identifierBind 实体
	 * @return 结果
	 */
	int insertIdentifierBind (List<LhIdentifierBind> identifierBind);

	/**
	 * 删除识别码
	 *
	 * @param identifierBindIds 需要删除的参数ID
	 * @return 结果
	 */
	int deleteIdentifierBindByIds (Long[] identifierBindIds);

	/**
	 * 修改身份识别码
	 *
	 * @param lhIdentifierBind 实体
	 * @return 结果
	 */
	int updateLhIdentifierBind(LhIdentifierBind lhIdentifierBind);

	/**
	 * 修改状态（开启关闭授权）
	 *
	 * @param lhIdentifierBind 实体
	 * @return 结果
	 */
	int empower(LhIdentifierBind lhIdentifierBind);

	/**
	 * 统计已使用、未使用
	 *
	 * @return 结果
	 */
	LhIdentifierBindStatVO stat();

	/**
	 * 使用身份识别码
	 *
	 * @param identifier 识别码
	 * @return 结果
	 */
	int useIdentifierBindByIdentifier(String identifier);

}

